package com.tecode.myBooks.bean;

import java.util.List;

/**
 * Created with Intellij IDEA.
 *
 * @Author: Gabriel
 * @Date: 2018-12-03
 * @Description:
 *
 * 分页类
 *			分页需要的信息
 *				1.每页显示的记录条数  *
 *				2.总页数            *
 *				3.总记录条数
 *				4.当前请求的页码。   *
 *				5.每页需要展示的内容
 *
 *				T ：表示每一条记录的对象
 */
public class Page<T> {

	//在构建对象时 就确定 需要访问的页码
	public Page(long pageNo){
		this.pageNo =pageNo;
	}


	//每页需要展示的记录条数  默认每页展示8条记录
	private  int pageSize = 6;

	//每页显示的内容
	private List<T> list;

	//当前查询条件下的总页数     总页数  =  总记录数  / 每页显示的记录
	private long totalPageNum;
	//当前请求的页码
	private long pageNo;

	//总记录条数
	private long totalPageSize;

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public List<T> getList() {
		return list;
	}

	public void setList(List<T> list) {
		this.list = list;
	}

	public long getTotalPageNum() {
		this.totalPageNum = this.totalPageSize / this.pageSize;
		if(this.totalPageSize % this.pageSize !=0)
			this.totalPageNum++;
		return totalPageNum;
	}



	public long getPageNo() {
		return pageNo;
	}

	public void setPageNo(long pageNo) {
		//判断请求的页码是否合法


		//判断请求的页面是否大于总页数  则默认请求最后一页
		if(pageNo > getTotalPageNum()){
			pageNo = getTotalPageNum();
		}


		//判断请求的页码是否小于1 如果小于 则默认请求第一页
		if(pageNo <1){
			pageNo =1;
		}



		this.pageNo = pageNo;
	}

	public long getTotalPageSize() {
		return totalPageSize;
	}

	public void setTotalPageSize(long totalPageSize) {
		this.totalPageSize = totalPageSize;
	}
}